package com.lxl.bt.util;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.telephony.TelephonyManager;

import static android.content.Context.TELEPHONY_SERVICE;

/**
 * Create by lvxinlong  229608356@qq.com
 * on事件工具类
 * on 2020年5月15日12:39:24
 **/
public class ActionUtils {

    /**
     * 拨打电话
     **/
    public static boolean callAction(String phoneNum) {

        return true;
    }

    /**
     * 拨打电话（直接拨打电话）
     *
     * @param phoneNum 电话号码
     *                 android.permission.CALL_PHONE
     */
    public static void callPhone(Context context, String phoneNum) {

        try {
            if (isTelephonyEnabled(context)) {
                Intent intent = new Intent(Intent.ACTION_CALL);
                Uri data = Uri.parse("tel:" + phoneNum);
                intent.setData(data);
                context.startActivity(intent);
            } else {
                MyUtils.shortToastMsg(context, "手机暂不支持拨打电话");
            }
        } catch (Exception e) {
            MyUtils.shortToastMsg(context, "error:"+e.toString());
        }
    }

    /**
     * 拨打电话（跳转到拨号界面，用户手动点击拨打）
     *
     * @param phoneNum 电话号码
     */
    public static void callPhoneJump(Context context, String phoneNum) {
        try {
            if (isTelephonyEnabled(context)) {
                Intent intent = new Intent(Intent.ACTION_DIAL);
                Uri data = Uri.parse("tel:" + phoneNum);
                intent.setData(data);
                context.startActivity(intent);
            } else {
                MyUtils.shortToastMsg(context, "手机暂不支持拨打电话");
            }
        } catch (Exception e) {
            MyUtils.shortToastMsg(context, "error:"+e.toString());
        }

    }

    private static boolean isTelephonyEnabled(Context context) {
        TelephonyManager tm = (TelephonyManager) context.getSystemService(TELEPHONY_SERVICE);
        return tm != null && tm.getSimState() == TelephonyManager.SIM_STATE_READY;
    }

    /**
     * 打印
     **/
    public static boolean printAction(String printContext) {

        return true;
    }
}
